{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example of supervised learning using Phylomix augmentation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Import required packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "number of leaves in the phylogeny tree:  15953\n"
     ]
    }
   ],
   "source": [
    "import sys\n",
    "sys.path.insert(1, '../src/')\n",
    "\n",
    "from ete4 import Tree\n",
    "from mixup import setup_data\n",
    "dataset = \"ibd200\"\n",
    "target = \"type\"\n",
    "\n",
    "data_fp = f'../data/{dataset}/data.tsv.xz'\n",
    "meta_fp = f'../data/{dataset}/meta.tsv'\n",
    "target_fp = f'../data/{dataset}/{target}.py'\n",
    "phylogeny_tree_fp = '../data/WoL2/phylogeny.nwk'\n",
    "\n",
    "data, tree = setup_data(data_fp, meta_fp, target_fp, phylogeny_tree_fp)\n",
    "print(\"number of leaves in the phylogeny tree: \", len(list(tree.ete_tree.leaves())))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Pruning the Phylogeny tree to make sure number of leaves is the same as number of features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "number of leaves in the phylogeny tree after pruning:  5287\n"
     ]
    }
   ],
   "source": [
    "data, tree = setup_data(data_fp, meta_fp, target_fp, phylogeny_tree_fp, prune=True)\n",
    "print(\"number of leaves in the phylogeny tree after pruning: \", len(list(tree.ete_tree.leaves())))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Fit a logistic regression on the alzbiom dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average AUROC across 5 folds: 0.6559709920656213\n",
      "Average AUPRC across 5 folds: 0.7079474009934368\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from sklearn.model_selection import KFold\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.metrics import roc_auc_score, average_precision_score\n",
    "from sklearn.preprocessing import label_binarize\n",
    "import warnings\n",
    "from sklearn.exceptions import ConvergenceWarning\n",
    "# Assuming X and y are your features and labels respectively\n",
    "# Ignore convergence warnings\n",
    "warnings.filterwarnings(\"ignore\", category=ConvergenceWarning)\n",
    "data.clr_transform()\n",
    "X, y = data.X, data.y\n",
    "\n",
    "# Initialize the logistic regression model\n",
    "model = LogisticRegression()\n",
    "\n",
    "# Initialize the KFold class with 5 splits\n",
    "kf = KFold(n_splits=5, shuffle=True, random_state=0)\n",
    "\n",
    "# To store the AUROC and AUPRC for each fold\n",
    "auroc_scores_none = []\n",
    "auprc_scores_none = []\n",
    "\n",
    "# Perform 5-fold cross-validation\n",
    "for train_index, test_index in kf.split(X):\n",
    "    X_train, X_test = X[train_index], X[test_index]\n",
    "    y_train, y_test = y[train_index], y[test_index]\n",
    "    \n",
    "\n",
    "    model.fit(X_train, y_train)\n",
    "    y_prob = model.predict(X_test)\n",
    "    \n",
    "    auroc = roc_auc_score(y_test, y_prob)\n",
    "    auroc_scores_none.append(auroc)\n",
    "    \n",
    "    auprc = average_precision_score(y_test, y_prob)\n",
    "    auprc_scores_none.append(auprc)\n",
    "\n",
    "average_auroc = np.mean(auroc_scores_none)\n",
    "average_auprc = np.mean(auprc_scores_none)\n",
    "\n",
    "print(f'Average AUROC across 5 folds: {average_auroc}')\n",
    "print(f'Average AUPRC across 5 folds: {average_auprc}')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Augment the dataset using Phylomix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mixup import PhylogenyDataset\n",
    "\n",
    "def create_subset(data, indices, normalize=True, one_hot_encoding=True, clr=True):\n",
    "    X_subset = data.X[indices]\n",
    "    y_subset = data.y[indices]\n",
    "    ids_subset = data.ids[indices]\n",
    "    subset = PhylogenyDataset(X_subset, y_subset, ids_subset, data.features)\n",
    "\n",
    "    for i, idx1 in enumerate(indices):\n",
    "        for j, idx2 in enumerate(indices):\n",
    "            subset.unifrac_distances_map[i, j] = data.unifrac_distances_map[idx1, idx2]\n",
    "\n",
    "    if one_hot_encoding:\n",
    "        subset.one_hot_encode()\n",
    "    if normalize:\n",
    "        subset.normalize()\n",
    "    if clr:\n",
    "        subset.clr_transform()\n",
    "    return subset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average AUROC across 5 folds: 0.6944513537045506\n",
      "Average AUPRC across 5 folds: 0.7298042635587392\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression   \n",
    "from mixup import augment\n",
    "\n",
    "data, _ = setup_data(data_fp, meta_fp, target_fp, phylogeny_tree_fp, prune=False)\n",
    "# data.one_hot_encode()\n",
    "n_splits = 5\n",
    "kf = KFold(n_splits=n_splits, shuffle=True, random_state=0)\n",
    "X, y = data.X, data.y\n",
    "# Initialize lists to store AUROC and AUPRC scores\n",
    "auroc_scores_phylomix = []\n",
    "auprc_scores_phylomix = []\n",
    "\n",
    "# Perform K-fold cross-validation\n",
    "for train_index, test_index in kf.split(X):\n",
    "    train_dataset = create_subset(data, train_index, normalize=False, clr=False, one_hot_encoding=False)\n",
    "    test_dataset = create_subset(data, test_index, normalize=False, clr=True)\n",
    "    augmented_data_phylomix = augment(train_dataset, phylogeny_tree=tree, num_samples = 3, clr=False)\n",
    "    augmented_data_phylomix.clr_transform()\n",
    "\n",
    "    model = LinearRegression()\n",
    "    model.fit(augmented_data_phylomix.X, augmented_data_phylomix.y[:, 0])\n",
    "\n",
    "    # Predict the first label\n",
    "    y_pred_first =np.array(model.predict(test_dataset.X)).reshape(-1, 1)\n",
    "\n",
    "    # Recover the second label as 1 - predicted first label\n",
    "    y_pred_second = 1 - y_pred_first\n",
    "    pred_logits = np.concatenate((y_pred_first, y_pred_second), axis=1)\n",
    "\n",
    "    auroc = roc_auc_score(np.argmax(test_dataset.y, axis=1), np.argmax(pred_logits, axis=1))\n",
    "    auprc = average_precision_score(np.argmax(test_dataset.y, axis=1), np.argmax(pred_logits, axis=1))\n",
    "\n",
    "    auroc_scores_phylomix.append(auroc)\n",
    "    auprc_scores_phylomix.append(auprc)\n",
    "\n",
    "# Calculate the average AUROC and AUPRC across all folds\n",
    "average_auroc = np.mean(auroc_scores_phylomix)\n",
    "average_auprc = np.mean(auprc_scores_phylomix)\n",
    "\n",
    "print(f'Average AUROC across {n_splits} folds: {average_auroc}')\n",
    "print(f'Average AUPRC across {n_splits} folds: {average_auprc}')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Augment the dataset using compositional cutmix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average AUROC across 5 folds: 0.65139440780873\n",
      "Average AUPRC across 5 folds: 0.7049102971332073\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression   \n",
    "\n",
    "data, _ = setup_data(data_fp, meta_fp, target_fp, phylogeny_tree_fp, prune=False)\n",
    "n_splits = 5\n",
    "# Initialize lists to store AUROC and AUPRC scores\n",
    "auroc_scores_compositional = []\n",
    "auprc_scores_compositional = []\n",
    "\n",
    "\n",
    "# Fit a linear regression model to predict the first label (y[:, 0])\n",
    "# Initialize the logistic regression model\n",
    "model = LogisticRegression()\n",
    "\n",
    "# Initialize the KFold class with 5 splits\n",
    "kf = KFold(n_splits=5, shuffle=True, random_state=0)\n",
    "\n",
    "# Perform 5-fold cross-validation\n",
    "for train_index, test_index in kf.split(X):\n",
    "    train_dataset = create_subset(data, train_index, normalize=False, clr=True, one_hot_encoding=False)\n",
    "    test_dataset = create_subset(data, test_index, normalize=False, clr=True, one_hot_encoding=False)\n",
    "    augmented_data_compositional = augment(train_dataset, phylogeny_tree=tree, aug_type='compositional_cutmix', num_samples = 3, clr=False, one_hot_encoding=False)\n",
    "    X_test, y_test = test_dataset.X, test_dataset.y\n",
    "\n",
    "    model.fit(augmented_data_compositional.X, augmented_data_compositional.y)\n",
    "    y_prob = model.predict(X_test)\n",
    "    \n",
    "    auroc = roc_auc_score(y_test, y_prob)\n",
    "    auroc_scores_compositional.append(auroc)\n",
    "    \n",
    "    auprc = average_precision_score(y_test, y_prob)\n",
    "    auprc_scores_compositional.append(auprc)\n",
    "\n",
    "average_auroc = np.mean(auroc_scores_compositional)\n",
    "average_auprc = np.mean(auprc_scores_compositional)\n",
    "\n",
    "print(f'Average AUROC across 5 folds: {average_auroc}')\n",
    "print(f'Average AUPRC across 5 folds: {average_auprc}')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plot the AURPC and AUROC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "# Get the data frame\n",
    "augmentation_types = ['None'] * 5 + ['compositional_cutmix'] * 5 + ['phylomix'] * 5\n",
    "auroc_scores = auroc_scores_none + auroc_scores_compositional + auprc_scores_phylomix\n",
    "auprc_scores = auprc_scores_none + auprc_scores_compositional + auprc_scores_phylomix\n",
    "model_type = ['linear'] * 15\n",
    "\n",
    "# Create the DataFrame\n",
    "data = {\n",
    "    'Model Type': model_type,\n",
    "    'Augmentation Type': augmentation_types,\n",
    "    'test AUROC': auroc_scores,\n",
    "    'test AUPRC': auprc_scores,\n",
    "}\n",
    "\n",
    "df = pd.DataFrame(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABD8AAAKACAYAAACbhdPUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB5NklEQVR4nOzdeXxM9/7H8fckEhHEHkGlVCUtSQhFYotdW9FaW0ouWuqitjYU3UtrrTUoRetWW2pvFa2l1sZaS6nSWmqrJYlICLKd3x8emZ9pFpNIJI7X8/HIQ+d7vuecz5nJ5N55z/f7PRbDMAwBAAAAAACYlENuFwAAAAAAAJCTCD8AAAAAAICpEX4AAAAAAABTI/wAAAAAAACmRvgBAAAAAABMjfADAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAAAAAADA1Ag/AOAeDRs2TN7e3ho2bFhul4JsFBISIm9vb02bNi1bj7ts2TJ5e3urSZMm2XpcAAAApC9fbhcAAHnFtGnTFBYWJkk6evRoLldjHnc+r5I0ceJEtWrVKsN9Xn31VW3evNn6eMOGDXrkkUdyrMaH3cCBA7V27VpJ0n//+18NHjw4w/7Lli3T8OHDJdn32jRp0kTnzp1T27ZtNWbMGJttISEh2rVrV6p9ChQooJIlS8rX11ft2rVTgwYN7LqWpKQk/fDDD1q/fr0OHTqkqKgoWSwWlSxZUtWrV1fLli3VrFkzu44lSdeuXdPy5cu1fft2HT16VFeuXFFycrKKFi0qb29v1a1bV8HBwSpVqpTdxwQAAPcf4QcA3KNSpUqpYsWKfPix07JlyzIMPy5evKht27bdx4oebleuXNHGjRutj5cvX64BAwbI0dHxvtbh5OSkIkWKWB9HR0frzJkzOnPmjFavXq2OHTtq5MiRslgs6R7j999/1xtvvKETJ05Y21xdXWUYhk6fPq3Tp0/ru+++k5+fnyZOnKjy5ctnWNPixYs1fvx4Xb161drm4uIiZ2dnXbx4URcvXtSWLVs0adIk9enTR3369LmHZwAAAOQkpr0AwD164403tHbtWr3xxhu5XUqeVqxYMbm6uuqXX37RP//8k26/lStXKikpSeXKlbuP1T28vvvuO8XHxysoKEienp65Fj75+/tr+/bt1p+DBw9q6dKleuqppyTdDiKWLFmS7v67d+9Wly5ddOLECRUpUkTDhg3Ttm3btG/fPu3fv18bN25U//79VaBAAR08eFAvvviijh8/nu7xJk2apLfffltXr15VpUqVNHbsWP3yyy86cOCA9uzZowMHDmju3Ll67rnnlJiYaB05AwAA8ibCDwDAfeHq6qqWLVsqOTlZy5cvT7ff0qVLJUnt2rW7X6U91FIChTZt2uj555+X9P+vQW5ydHSUj4+PZsyYoaJFi0pKv67IyEgNHjxYcXFx8vDw0OLFi9WjRw+b0VjlypXTa6+9pi+//FJubm6KjIzUwIEDdevWrVTHW716tT799FNJ0tNPP60VK1aoTZs2KlGihLWPi4uL6tevr/Hjx2vFihV6/PHHs/HqAQBAdiP8AIB7lNGCp3cummkYhr799lt17NhRNWrUkL+/v1588UWtXLnyruc4ffq0Ro4cqWeeeUb+/v6qVq2annnmGX300Uc6f/58mvskJydr7969mjBhgl544QU1bNhQPj4+qlOnjrp27apvvvlGCQkJae579uxZeXt7y9vbW2fPntXp06f1zjvvqEmTJvLx8cnyYp0pgcby5ctlGEaq7Xv27NGpU6dUvnx56zf+Gbl165a++OILderUSbVq1ZKvr68aN26soUOH6siRIxnum5SUpAULFqht27aqXr26ateurZCQkEx9g//7779r+PDhatasmapVqyZ/f38999xzmjRpkqKiouw+Tm45ePCgjh07psKFC6tp06Z6/vnnZbFYtHHjxjxTf5EiRVStWjVJ0p9//plmn88++0yXL1+WJI0bN06PPvpousfz9fXVW2+9ZT3ev0eTxMfHa9y4cZKkxx9/XOPGjZOzs3OGNXp5eWn8+PH2XRAAAMgVrPkBAPdBUlKS+vXrpw0bNihfvnxycXHR9evXtX//fu3fv19///23BgwYkOa+3377rT788ENrUOHs7CwHBwedOHFCJ06c0LJlyzR16lTVq1fPZr/z58/rpZdesj5OOW90dLR2796t3bt3a9WqVZo7d65cXFzSrX3fvn169913FRcXpwIFCsjJySnLz0OtWrXk6emp06dPa8+ePapVq5bN9mXLlkmS2rZtm+HaDtLttUF69uypY8eOSbq9ZoSLi4vOnz+vlStX6vvvv9eIESMUEhKSat/4+Hj16dPHOr3DwcFBTk5O2r17t3bt2qVevXrd9VqmTp2qGTNmWEOcAgUKKCEhQUePHtXRo0e1dOlSzZ49W1WqVLn7E5NLUj74P/PMM8qfP781dNq9e7dWrlypHj165HKFt6U8x8nJyam2JSQkaPHixZKk2rVrq06dOnc93vPPP6/p06fr9OnT+uqrr9SlSxfrtg0bNlinZb366qvKnz+/XTU6OPB9EgAAeRn/Sw0A98HXX3+tXbt2acyYMdq7d6/27t2rzZs3q3HjxpKkmTNn6tSpU6n2W79+vd555x1Jtz+Ibdy4UQcPHtT+/fu1Zs0aPf3007p27ZoGDBiQagRIvnz51LRpU02aNElbtmzRb7/9pr179+rXX3/V6NGj5e7urj179mjSpEkZ1v7uu++qcuXKWrJkifbv3699+/Zp7ty5WXoeLBaL2rZtKyn1FIa4uDitWbNGDg4Od53ykpSUpP79+1tHLYwfP16//vqr9uzZo/Xr16tx48ZKTk7WqFGjbO4ak+KTTz7Rtm3bZLFYNGjQIGsYtH37dnXu3FmfffZZhiNHvvjiC02fPl2urq564403tG3bNu3fv18HDhzQ0qVLFRAQoMuXL6tPnz66fv16Fp6pnHfjxg398MMPkmSd7iLdnv4i5Y2pL5J09epVHTx4UJLSvKvMoUOHdO3aNUlSy5Yt7TqmxWKx3vHl+PHj1lEjkhQeHi7pdpjRtGnTe6odAADkHYQfAHAfXL16VWFhYWrbtq11lIWHh4emTp0qd3d3JScna82aNTb7xMfH68MPP5Qkvf/++3rjjTdUrlw5WSwWWSwWPfbYY5oyZYqaNGmia9eu6fPPP7fZ38PDQzNmzNCzzz6r0qVLW7+ZLliwoNq1a6cZM2ZIuj2yJK11D1IUK1ZMn3/+uXx9fa1tFStWzPJz0bZtWzk4OOjHH3+0CQbWrFmjuLg4BQYGqkyZMhke48cff9SBAwck3V6Y8rnnnrNOTShfvrzCwsKsUyUmTJhgs+/Fixe1YMECSbLeoaNQoUKSpBIlSuj9999XcHCwYmNj0zx3VFSUJk+eLIvFounTp+vVV1+1ri2Rsk7F3LlzVbVqVV24cME6KiGv+fHHH3Xt2jV5enraTDF6+umn5eLioj///NP6HOeGpKQkHTp0SH379lV0dLQkqX379qn6/fXXX9b/fvLJJ+0+/hNPPJHmMVL+29PT0/p7AQAAHnyEHwBwH9SoUUMBAQGp2p2dnVW/fn1J0tGjR222bdmyRRcvXlTJkiXT/NCXIuWb+szeocPX11clSpRQXFxchqMcunTpooIFC2bq2BkpU6aM6tatax3pkSJlyktG15pi9erVkm7fIaRBgwaptufLl0/9+vWTJB07dszmuf3xxx+VmJgoFxcXvfLKK2ke/7XXXkv33N9//71u3LghHx8fBQYGptknX758Cg4OlpT51+V+SZnycueoD0kqVKiQdVRERndXyW779u1TvXr1rD9+fn5q37699uzZI+n2qI47p6ekuHLlivW/UxZGtUexYsXSPEZK0HLnbXcBAMCDjzU/AOA+SBmFkBZ3d3dJt0eH3Gnv3r3W9pSAJC0pa4GktfBpfHy8li5dqnXr1unYsWO6evWq4uPjU/W7cOFCusevUaNGutuyql27dtq2bZuWLl2qDh066O+//9aePXvk5uZm/eCdkUOHDklSuuGDJAUEBMjR0dE6gsDb29tmXx8fn3S/2a9YsaJKly6tixcvptqW8rr8+eefqdZZudPNmzclpf265La///5bu3fvlsViSRV+SLdH56xatUo//PCDRowYoQIFCuR4TQkJCYqIiEjVbrFY9M4776QZfKTV115pLbh7Z3tmjgUAAPI+wg8AuA8yGjmRL9/tP8WJiYk27ZcuXZKU/ofCf0v5sJ0iMjJS3bt3ty4IKkn58+dXsWLF5OjoKOn2FI7k5GTduHEj3ePeeXvP7NK8eXMVKVJEv/76q06ePKkVK1ZIkoKDg+1aYDIyMlKSVLp06XT7pFxrRESEtb+9+0q3pw2lFX6kvC43b95M9ZynxZ4+9pg7d67mzZuX5rYlS5bcdarQnVLW86hRo4bKly+fanvdunWt4c/atWut67TkpNq1a+vLL7+UdPt3/vz581q0aJHmzZunCRMmqHLlyqpdu3aq/dIbwXE3KSM8/n2MlP++czsAAHjwEX4AQB6VcmeLBg0aaM6cOZne/+OPP9axY8dUtGhRDR06VA0bNrSuTZEiKChIFy5cSPdbcCln7mLh7OysVq1a6euvv9aSJUu0atUqSbrrQqf/Zu+382n1y+o3+ymvS6dOnfTBBx9k6RhZERcXl24IlpSUZPdxkpKStHz5ckm3R7GkjIhJz5IlS1KFH3feHSij9WJSpIRr9t45xcnJSY8++qiGDh0qV1dXTZs2TYMGDdL333+fKoyrVKmS9b9///131axZ065z3DnV6/HHH7f577179+r06dO6du0a634AAGASrPkBAHlUyZIlJclm5Ia9EhIStG7dOkm379bSvn37VMFHUlJSpr4pz24pQcf8+fN14cIFeXl52SyqmpGUD8AptyRNy61bt6zf3hcvXjzVvhlN9ZGU5qgP6d5el3vRv39/6210//2T1l1Q0rNlyxbr6BV77NmzJ9WdiO4cKZHe85Ti1q1b1ildd74O9urdu7c8PT0VGRmpKVOmpNru6+trHVn1008/2XVMwzC0fv16SbfDkzvfGylTqZKTk7Vhw4ZM1wsAAPImwg8AyKNS1tq4ePGiddFHe0VFRVm/kU/vDhh79+6161v7nOLr6ysvLy/rmiX2LHSawsfHR5K0Y8eOdPvs3LnTOpXozlAlZd87b5H6b6dOnUo3HEl5XQ4cOKBz587ZXXNekbKIafPmzfXrr79m+FO1alVJqW97W6VKFevImZQ1UNKzb98+68iUlONlhpOTk/r06WOt/eTJk6m2d+zYUZK0a9cu7dy5867HXLlypc6cOSNJeumll2y2NW3aVB4eHpKk2bNn2/0eSRkRBAAA8ibCDwDIo5o0aWL9Rvrjjz/OcF0OyXaNgkKFClk/nP7xxx+p+iYmJmrSpEnZV2wWhYaG6uWXX9bLL7+s5557zu79nn32WUm3P1indTeVxMRE6618vby85OXlZd3WsmVL5cuXTzdv3kx1e+AU06dPT/fczz//vFxcXJSUlKQPP/wwwyknycnJiomJseua7oeIiAht2rRJ0u3nsGDBghn+PP3005Kk5cuX21xnkSJFrIu9Llq0KNVivSkMw7BO2SpatKjq1q2bpbqfe+45lStXTklJSQoLC0u1vVevXtYRPUOHDtXp06fTPdahQ4f00UcfSbo96qNDhw42252dnTVkyBBJt297++abb6a5SPCd/vrrLw0dOjRT1wQAAO4vwg8ASENUVFSGP/fjA23+/Pn1/vvvy2Kx6PDhw+rcubO2bt1q80HszJkzWrhwoTp06KCvv/7a2l6wYEHrCIUxY8YoPDzc+s30sWPH9Oqrr+rQoUNydXXN8evISFBQkN588029+eabmZoS0bJlS+sddFLWgkgZQXLmzBn1799f+/btk3Q7YLlT6dKl1blzZ0nSjBkzNGvWLOsIkKioKH344Yf67rvvVLhw4TTPXapUKb3xxhuSpE2bNqlHjx7au3evNRwwDEPHjx/X559/ruDgYP388892X1dOW7FihfU2v40aNbpr/2eeeUaSdPnyZW3ZssVm2+DBg+Xk5KTLly+ra9euNr+bhmHoyJEj6tevn7Zu3SpJGjBgQJZ/3/Lly2e9LfHq1av1119/2WwvWbKkJk2apAIFCujChQvq0KGDvvjiC5s1Uv755x9Nnz5dXbt2VUxMjIoVK6apU6farF+SIjg4WD179pQkrVmzRm3bttWKFSsUFRVl7XPr1i2Fh4dr+PDhev755/Xnn39m6doAAMD9wYKnAJCGjG6hKklPPPGEVq5cmeN1NGvWTOPGjdO7776rI0eOqGfPnsqXL58KFSqkuLg4myCkadOmNvuOGDFCISEhunjxorp37y5nZ2c5OTnp+vXrypcvnz766CNNnTpVcXFxOX4d2c3R0VHTpk3TK6+8oj///FOhoaEaPny4ChQoYA2mHBwcNHz4cAUFBaXaf8iQITp+/Lh++eUXTZw4UVOmTFGhQoUUExMjwzDUq1cvHThwQLt27Urz/P/5z38UHx+viRMnaufOnXrppZfk5OSkggUL6vr169YgRspbt0xNmb4SFBRkVxBRvnx5Va1aVYcPH9aSJUvUuHFj6zYfHx9NnjxZQ4cO1bFjx2x+N2/cuGGdLmKxWNSnTx+7blWbkQ4dOmjmzJm6fPmypk6dqqlTp9psr1Onjr788kuFhobq1KlTGj16tEaPHq2CBQvKMAyb33MfHx9NmjRJnp6e6Z5vyJAh8vT01IQJE6wjQCSpQIECcnJysglACxQooNatW9/T9QEAgJxF+AEAedxzzz2ngIAAff3119q6datOnz6t2NhYubq6qlKlSqpZs6aaNWumWrVq2ezn4+OjxYsXKywsTDt27NC1a9dUsGBBNWzYUC+//LL8/PxSfYB8kJQuXVpLly7VN998ozVr1uj48eO6ceOGypQpo9q1a6tHjx7prneSP39+ffbZZ/r666+1bNkynTx5UoZh6KmnnlKXLl30zDPPKCQkJMPz9+zZU82bN9fXX3+t8PBwnTt3TrGxsSpUqJA8PT1Vp04dNWvWTNWrV8+Bq8+8vXv36sSJE5Jknc5ij6efflqHDx/Wpk2bFBERYV3wVbodzv3000/65ptvtH37dp08eVLXrl2Ti4uLPD099dRTT6lz5853vaOMPfLnz6/u3btr/Pjx+umnn/THH3/oiSeesOnj6+urH374QatWrdKGDRt0+PBhRUZGysHBQeXLl1e1atX09NNPq1mzZnaFUi+++KKeffZZLVu2TNu3b9exY8d05coV3bx5U6VLl5a3t7caNGig4ODgLC3mCgAA7h+LkdH9DQEAAAAAAB5wrPkBAAAAAABMjfADAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAAAAAADA1Ag/AAAAAACAqeXL7QLysqeeekrx8fEqVapUbpcCAAAAIBddvnxZzs7O2rNnT26XAiALCD8ycOvWLSUlJeV2GQAAAAByWWJiogzDyO0yAGQR4UcG3N3dJUkbNmzI5UoAAAAA5KamTZvmdgkA7gFrfgAAAAAAAFMj/AAAAAAAAKZG+AEAAAAAAEyN8AMAAAAAAJga4QcAAAAAADA1wg8AAAAAAGBqhB8AAAAAAMDUCD8AAAAAAICpEX4AAAAAAABTI/wAAAAAAACmRvgBAAAAAABMjfADAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAAAAAADA1Ag/AAAAAACAqRF+AAAAAAAAUyP8AAAAAAAApkb4AQAAAAAATI3wAwAAAAAAmBrhBwAAAAAAMDXCDwAAAAAAYGqEHwAAAAAAwNQIPwAAAAAAgKkRfgAAAAAAAFMj/AAAAAAAAKZG+AEAAAAAAEyN8AMAAAAAAJga4QcAAAAAADA1wg8AAAAAAGBqhB8AAAAAAMDUCD8AAAAAAICpEX4AAAAAAABTI/wAAAAAAACmRvgBAAAAAABMjfADAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAAAAAADA1Ag/AAAAAACAqRF+AAAAAAAAU8tz4cfff/+td999V88//7yqVKmi4OBgu/ddvny5nn76afn6+io4OFhr1qzJwUoBAAAAAMCDIM+FH3/++ac2b96sRx99VJUqVbJ7v7Vr12rYsGFq3ry5PvvsMwUEBGjw4MHatm1bDlYLAAAAAADyuny5XcC/NWnSRM2aNZMkDRs2TIcOHbJrvylTpujpp5/WG2+8IUkKCAjQyZMnNXXqVNWvXz/H6gUAAAAAAHlbnhv54eCQ+ZLOnDmjEydOpJoiExwcrIMHDyoqKiq7ygMAAAAAAA+YPBd+ZMWJEyckSY899phNe6VKlWQYhnU7AAAAAAB4+Jgi/Lh69aokyc3Nzaa9SJEiNtsBAAAAAMDDxxThRwqLxWLz2DCMNNsBAAAAAMDDwxThR3ojPGJiYiSlHhECAAAAAAAeHqYIP1LW+vj32h7Hjx+XxWJJtRYIAAAAAAB4eJgi/Chfvrwee+wxrV692qZ91apV8vPzU/HixXOpMgAAAAAAkNvy5XYB/3bjxg1t3rxZknTu3Dldu3ZNa9eulSTVrl1bxYsX14gRI7RixQr9/vvv1v0GDBigwYMHy9PTU3Xr1tWGDRu0fft2zZkzJ1euAwAAAAAA5A15LvyIjIzUwIEDbdpSHv/vf/9TnTp1lJycrKSkJJs+zzzzjG7evKlPP/1Uc+fO1aOPPqpJkyapfv369612AAAAAACQ91iMlFuiIJWmTZtKkjZs2JDLlQAAAADITXw2AB5spljzAwAAAAAAID2EHwAAAAAAwNQIPwAAAAAAgKkRfgAAAAAAAFMj/AAAAAAAAKZG+AEAAAAAAEyN8AMAAAAAAJga4QcAAAAAADA1wg8AAAAAAGBqhB8AAAAAAMDUCD8AAAAAAICpEX4AAAAAAABTI/wAAAAAAACmRvgBAAAAAABMjfADAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAAAAAADA1Ag/AAAAAACAqRF+AAAAAAAAUyP8AAAAAAAApkb4AQAAAAAATI3wAwAAAAAAmBrhBwAAAAAAMDXCDwAAAAAAYGqEHwAAAAAAwNQIPwAAAAAAgKkRfgAAAAAAAFMj/AAAAAAAAKZG+AEAAAAAAEyN8AMAAAAAAJga4QcAAAAAADA1wg8AAAAAAGBqhB8AAAAAAMDUCD8AAAAAAICpEX4AAAAAAABTI/wAAAAAAACmRvgBAAAAAABMjfADAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAAAAAADA1Ag/AAAAAACAqRF+AAAAAAAAUyP8AAAAAAAApkb4AQAAAAAATI3wAwAAAAAAmBrhBwAAAAAAMDXCDwAAAAAAYGqEHwAAAAAAwNQIPwAAAAAAgKkRfgAAAAAAAFMj/AAAAAAAAKZG+AEAAAAAAEyN8AMAAAAAAJga4QcAAAAAADA1wg8AAAAAAGBqhB8AAAAAAMDUCD8AAAAAAICpEX4AAAAAAABTI/wAAAAAAACmRvgBAAAAAABMjfADAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAAAAAADA1Ag/AAAAAACAqRF+AAAAAAAAUyP8AAAAAAAApkb4AQAAAAAATI3wAwAAAAAAmBrhBwAAAAAAMDXCDwAAAAAAYGqEHwAAAAAAwNQIPwAAAAAAgKkRfgAAAAAAAFMj/AAAAAAAAKZG+AEAAAAAAEyN8AMAAAAAAJga4QcAAAAAADA1wg8AAAAAAGBqhB8AAAAAAMDUCD8AAAAAAICpEX4AAAAAAABTI/wAAAAAAACmlifDj5MnT+qVV15R9erVFRgYqFGjRunmzZt33S8+Pl7jx49X/fr15efnpw4dOig8PPw+VAwAAAAAAPKqPBd+xMTEqFu3brp+/bqmTp2qN998U99//73efvvtu+778ccf6+uvv1avXr00ffp0lS9fXr169dLhw4fvQ+UAAAAAACAvypfbBfzbwoULFRMToxUrVqh48eKSJEdHR4WGhqpPnz6qVKlSmvtdvHhR3377rYYPH66QkBBJUv369fXcc88pLCxMM2fOvG/XAAAAAAAA8o48N/Jjy5YtCgwMtAYfktSyZUs5Oztr8+bN6e73xx9/KCkpSfXr17e2WSwW1a9fX9u2bVN8fHyO1g0AAAAAAPKmPBd+HD9+PNXoDmdnZ3l6eur48ePp7pcSbjg5OaXaNz4+XmfPns3+YgEAAAAAQJ6X58KPmJgYubm5pWp3c3PT1atX092vQoUKkqSDBw/atO/fv1+SMtwXAAAAAACYV55b8yM9hmHIYrGku71y5cqqXbu2JkyYIA8PD1WsWFHLli3T7t27JUkODnku5wEAAAAAAPdBnksE3NzcFBMTk6o9NjY2zREhdxozZoyKFy+uzp07KyAgQF999ZX69u0rSSpZsmSO1AsAAAAAAPK2PDfyo1KlSqnW9oiPj9fp06fVvn37DPctV66clixZorNnz+rmzZuqWLGiPv/8c5UqVUrlypXLybIBAAAAAEAeledGfjRs2FA7duzQlStXrG3r1q1TfHy8goKC7DrGI488oscff1wJCQlasmSJOnbsmFPlAgAAAACAPC7Pjfzo1KmTFixYoL59+6pv376KjIzUmDFj1Lp1a5u7wIwYMUIrVqzQ77//bm1bsGCBChUqpDJlyujcuXP6/PPPlT9/fvXq1Ss3LgUAAAAAAOQBeS78cHNz0/z58zVq1Cj1799fLi4uCg4OVmhoqE2/5ORkJSUl2bTFx8crLCxMFy5cUNGiRdWiRQsNHDhQrq6u9/MSAAAAAABAHmIxDMPI7SLyqqZNm0qSNmzYkMuVAAAAAMhNfDYAHmx5bs0PAAAAAACA7ET4AQAAAAAATI3wAwAAAAAAmBrhBwAAAAAAMDXCDwAAAAAAYGqEHwAAAAAAwNQIPwAAAAAAgKkRfgAAAAAAAFMj/AAAAAAAAKZG+AEAAAAAAEyN8AMAAAAAAJga4QcAAAAAADA1wg8AAAAAAGBqhB8AAAAAAMDUCD8AAAAAAICpEX4AAAAAAABTI/wAAAAAAACmRvgBAAAAAABMjfADAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAAAAAADA1Ag/AAAAAACAqRF+AAAAAAAAUyP8AAAAAAAApkb4AQAAAAAATI3wAwAAAAAAmBrhBwAAAAAAMDXCDwAAAAAAYGqEHwAAAAAAwNQIPwAAAAAAgKkRfgAAAAAAAFMj/AAAAAAAAKZG+AEAAAAAAEyN8AMAAAAAAJga4QcAAAAAADA1wg8AAAAAAGBqhB8AAAAAAMDUCD8AAAAAAICpEX4AAAAAAABTI/wAAAAAAACmRvgBAAAAAABMjfADAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAAAAAADA1Ag/AAAAAACAqRF+AAAAAAAAUyP8AAAAAAAApkb4AQAAAAAATI3wAwAAAAAAmBrhBwAAAAAAMDXCDwAAAAAAYGqEHwAAAAAAwNQIPwAAAAAAgKkRfgAAAAAAAFMj/AAAAAAAAKZG+AEAAAAAAEyN8AMAAAAAAJga4QcAAAAAADA1wg8AAAAAAGBqmQo/Zs6cqYkTJyohISHdPvHx8Zo4caJmz559z8UBAAAAAADcK7vDj19++UVTp05V0aJF5eTklG4/Z2dnFStWTJMmTVJ4eHi2FAkAAAAAAJBVdocfK1askJubm7p27XrXvl26dFGRIkW0bNmyeyoOAAAAAADgXtkdfuzbt09169aVs7PzXfs6Ozurbt262rdv3z0VBwAAAAAAcK/sDj8uXbqk8uXL233gRx55RJcvX85SUQAAAAAAANnF7vDDwcEhw4VO/y0hIUEODtxMBgAAAAAA5C670wl3d3f9+eefdh/4zz//lLu7e5aKAgAAAAAAyC52hx81a9bUjh07dPbs2bv2PXv2rHbs2KFatWrdU3EAAAAAAAD3yu7wo0uXLkpMTNSAAQMUFRWVbr8rV65o4MCBSkpKUufOnbOlSAAAAAAAgKzKZ2/HqlWrqlu3bpo/f75atWqlTp06qU6dOvLw8JAkXbx4UeHh4fr2228VFRWlHj16qGrVqjlWOAAAAAAAgD3sDj8kadiwYcqfP7/mzp2rTz/9VJ9++qnNdsMw5OjoqN69e2vQoEHZWScAAAAAAECWZCr8sFgsev3119WhQwctXbpU+/btU0REhCSpZMmSqlGjhtq1aydPT88cKRYAAAAAACCzMhV+pPD09NTgwYOzuxYAAAAAAIBsZ/eCpwAAAAAAAA+iLI38OHPmjJYtW6b9+/fr8uXLslgsKlmypPz9/dWmTRumvQAAAAAAgDwjU+FHcnKyJk6cqM8//1zJyckyDMO67c8//1R4eLhmzZqll19+WYMHD5aDAwNLAAAAAABA7spU+PH+++/r22+/VZEiRfTCCy8oMDBQHh4eMgxDFy9e1C+//KIlS5Zozpw5iomJ0QcffJBTdQMAAAAAANjF7vBjx44d+vbbb+Xn56eZM2eqRIkSNtsrVaqkunXr6uWXX1afPn307bff6tlnn1WdOnWyvWgAAAAAyKuSkpKUkJCQ22UApubk5CRHR0e7+9sdfixcuFCurq6aPn16quDjTsWLF1dYWJhatmyphQsXEn4AAAAAeCgYhqELFy4oOjo6t0sBHgpFixaVh4eHLBbLXfvaHX7s27dPjRo1UqlSpe7at1SpUmrUqJH27t1r7+EBAAAA4IGWEny4u7vL1dXVrg9kADLPMAzFxcXp0qVLkqQyZcrcdR+7w4+oqCiVL1/e7mLKly+vdevW2d0fAAAAAB5USUlJ1uAjo5HyALJHgQIFJEmXLl2Su7v7XafA2H07FldXV8XExNhdSGxsrFxdXe3uDwAAAAAPqpQ1PvgMBNw/Ke83e9bYsTv8ePzxx7V9+3ab29umJzk5Wdu2bVOlSpXsPTwAAAAAPPCY6gLcP5l5v9kdfrRo0UKnT5/W9OnT79p35syZOnPmjFq2bGl3IQAAAAAAADnB7vCjc+fOevTRRzV9+nS9+eabOnXqVKo+p06d0rBhwxQWFiZPT0917tw5S0WdPHlSr7zyiqpXr67AwECNGjVKN2/evOt+cXFxmjBhgpo1a6Zq1aqpRYsWmjZtmuLj47NUBwAAAAA8bKZNmyZvb2916dIlzW3+/v65UBVwb+xe8NTZ2VmzZ89Wz549tXLlSn333XcqXbq0PDw8JN1e2fjixYsyDEOPPPKIZs+eLWdn50wXFBMTo27duqls2bKaOnWqoqKiNHr0aEVHR2vChAkZ7vv+++9r/fr1Gjx4sCpXrqyDBw9q6tSpunr1qt5+++1M1wIAAAAA9yopOVmODnZ/75xnzrtnzx6Fh4crMDAwG6sCcofd4YckPfroo1q+fLnmzJmj5cuX68KFC7pw4YJ1u7u7u9q2bauePXuqcOHCWSpo4cKFiomJ0YoVK1S8eHFJkqOjo0JDQ9WnT5901xFJTEzU2rVr1bNnT4WEhEiSAgICdP78ea1evZrwAwAAAECucHRw0Jhpy3T6XMR9O6dnuZIa1r9dlvd3dXVV5cqVNX36dMIPmEKmwg9JKlSokAYNGqRBgwbp/Pnzioi4/QYuWbKkypYte88FbdmyRYGBgdbgQ5JatmypESNGaPPmzemGH4ZhKCkpKVXo4ubmZtcirQAAAACQU06fi9BfJy/cvWMe0q9fP7366qvauXOn6tSpk2af6OhojR8/Xhs2bFBcXJy8vLw0aNAg1a9f39onJCRErq6uatOmjSZPnqxLly7J19dXo0aNkqenp7VffHy8wsLC9P333+vy5csqX768+vbtq9atW+f4tcL8Mh1+3Kls2bLZEnjc6fjx42rfvr1Nm7Ozszw9PXX8+PF093NyclK7du305ZdfqkaNGnr88cf122+/6dtvv1XXrl2ztUYAAAAAMLugoCD5+voqLCwszfAjKSlJvXr10unTp/X666/Lw8ND33zzjV599VXNmzdPAQEB1r5HjhxRVFSUQkNDlZSUpI8//lhDhgzRokWLrH0GDhyoX3/9Vf369VOlSpW0efNmDRkyRG5ubgoKCrov1wzzuqfwIyN79uzRlClT9OWXX2Zqv5iYGLm5uaVqd3Nz09WrVzPc9/3339d7772nF154wdoWEhKi1157LVM1AAAAAABuj/7473//q127dql27do22zZt2qSDBw9q9uzZ1nCiQYMGCg4O1vTp023Cj9jYWJulDWJjY/X222/rwoUL8vDw0I4dO7Rx40bNnTvXOmqkXr16unjxoqZNm0b4gXuWpdVvoqOjde3atTS37d+/Xz169FBISIj27NlzT8XdyTCMu97Dd8KECdq0aZNGjhypBQsWaPjw4Vq2bJmmTp2abXUAAAAAwMOicePGqlq1qsLCwlJt27NnjwoWLGgTTDg4OOiZZ57Rvn37lJSUZG1/4oknbJY2SFnOIGUNye3bt6to0aIKCAhQYmKi9ScwMFBHjhyxORaQFZka+bF69Wp98sknOn/+vCSpcuXKeu+991SzZk1dunRJH374oTZs2CDDMFS1alX1798/0wW5ubkpJiYmVXtsbGy6631I0rFjxzRv3jzNmDFDTZs2lSTVqlVLFotF48aNU5cuXVSiRIlM1wMAAAAAD7O+ffuqX79+qb7cjomJUcmSJVP1L1mypBISEhQXF2ddk/Hfo/udnJwkSbdu3ZIkXblyRdHR0apatWqaNVy+fNl6p1EgK+wOP8LDw/X6669Lur3yr2EYOnbsmHr16qV58+apf//+unz5sqpUqaLXXntNTZo0yVJBlSpVSrW2R3x8vE6fPp1qLZA7/fXXX5KkJ5980qb9ySefVGJios6dO0f4AQAAAACZ1KxZMz355JMKCwtTzZo1re1FihSx3gDjThEREXJycpKrq6vd5yhSpIiKFy+u2bNnp7n9zlEjQFbYPe1l/vz5cnBw0MSJE/Xrr79q3759Gjt2rG7cuKGXX35ZMTExGjVqlJYtW5bl4EOSGjZsqB07dujKlSvWtnXr1ik+Pj7DeV7lypWTJB0+fNim/dChQ5KkRx55JMs1AQAAAMDDrF+/fgoPD9fevXutbTVr1tT169e1ZcsWa1tycrLWrl0rf39/OTo62n38unXrKioqSk5OTvL19U314+zsnK3Xg4eP3SM/fvvtNwUFBenZZ5+1tj3//PNas2aNNm/erNGjR6tNmzb3XFCnTp20YMEC9e3bV3379lVkZKTGjBmj1q1b20x7GTFihFasWKHff/9dkuTj4yM/Pz+99957ioiIUMWKFfXbb79pxowZevbZZ0kKAQAAACCLmjVrJm9vb4WHh1tHdDRq1Eh+fn4aOnSoXn/9dZUuXVoLFy7UyZMn9e6772bq+PXq1VPjxo3Vs2dP9ezZU97e3rpx44b++usv/f333/roo49y4rLwELE7/IiOjlblypVTtVeuXFmbN29Ws2bNsqUgNzc3zZ8/X6NGjVL//v3l4uKi4OBghYaG2vRLTk62WfTG0dFRn376qaZMmaLPPvtMERERKlOmjLp27ar//ve/2VIbAAAAAGSFZ7nUa2M8SOezWCzq16+fBgwYYG1zdHTUZ599pnHjxumTTz5RXFycvL29NWvWrDRvjXs3U6dO1ezZs/XNN9/o3LlzKly4sCpXrqx27dpl56XgIWUxDMOwp+MTTzyh1157LdVtY8PCwjR9+nQdOXIkRwrMTSkLp27YsCGXKwEAAACQm+722eDmzZs6efKkKlasKBcXF5ttScnJcnTI0o0270lunRe4XzJ63/0b7wQAAAAAyEG5FUAQfAD/L1O3uv3qq6+0evVqm7aUhUnvXAskhcVi0Q8//HAP5QEAAAAAANybTIUfV65csbkLy51OnDiRLQUBAAAAAABkJ7vDjz/++CMn6wAAAAAAAMgRTAIDAAAAAACmRvgBAAAAAABMze5pLytWrMhwu8ViUeHCheXt7a1y5crda10AAAAAAADZwu7wY9iwYbJYLHb1feqppzRy5EhVqFAhq3UBAAAAAABkC7vDj379+mUYfiQnJ+vKlSvav3+/du/era5du2rlypUqUaJEthQKAAAAAACQFXaHH/3797f7oMuWLdOIESM0d+5cDR06NEuFAQAAAAAAZIccWfC0Xbt2qlWrljZv3pwThwcAAAAAIFsMGzZMwcHB1sdHjhzRtGnTdOPGDZt+O3fulLe3t3777bf7XaLVtGnT5O/vf9/Pu3PnTn366afZesz7fS05drcXPz8/nT9/PqcODwAAAAAPhKTk5IfqvA+avn37asKECdbHR44cUVhYWKrwo2rVqlq0aJEqVap0v0vMdbt27dKsWbOy9ZgdO3bU/Pnzs/WYGbF72ktmOTo6Kpk3GwAAAExg8+bNWrRokV588UUFBQXldjl4wDg6OGjEiqU6ERFx3875WMmS+rhN+/t2vgeZp6enXf0KFSqk6tWr52wxDxEPDw95eHjct/Pl2MiPo0ePqnTp0jl1eAAAAOC++eKLL3T06FF98cUXuV0KHlAnIiL0x4V/7ttPdgQt+/bt08svv6waNWrI399fHTt21Pbt2yVJ0dHReuuttxQQECA/Pz916NBB27Zts9k/JCREvXv31sqVK9W8eXNVq1ZNvXv3VnR0tM6dO6dXXnlF/v7+atWqlXbs2GGzb5MmTfThhx9qzpw5atCggapVq6Y+ffro0qVLNv3sqWPv3r3q0qWLatasKX9/f7Vu3VrLly+3br9z2suyZcs0fPhwSVJgYKC8vb3VpEkTSWlPe7l165bGjBmjBg0ayMfHR61bt9b3339vc/6U4+/cuVNt2rRR9erV1aFDBx06dMim37x589S+fXvVrFlTgYGB6t27t06ePGnfi5WBjF7H9Kby9O7dWyEhIZJuT08JCwtTXFycvL295e3tbbPN399fhw4dUseOHeXn56c2bdro0KFDunXrlt577z3Vrl1bDRs2TPX389/TXj766CPVqlVLFy5csLbt379fVapU0VdffXXPz0OOjPwIDw/X1q1b1bFjx5w4PAAAAHBfxcXF2fwLmN3evXvVrVs3Va9eXaNGjZKbm5sOHTqk8+fPKykpSb169dLp06f1+uuvy8PDQ998841effVVzZs3TwEBAdbj/P7777p69aqGDRum2NhYjRo1Sm+//bb++ecftWnTRj169NCsWbM0YMAA/fzzzypYsKB133Xr1qlcuXJ6//33FRMTo08++UT9+/fXokWLJMmuOq5du6bevXurZs2amjhxopydnfXXX38pJiYmzetu1KiR+vTpo5kzZ2rOnDkqXLiwnJ2d032eQkNDtXnzZg0aNEiVK1fW6tWrFRoaqqSkJLVp08ba7/Llyxo1apReffVVFSpUSJ988olee+01rVu3Tk5OTpKkCxcuqGvXripbtqyuXbumhQsXqlOnTvrxxx9VtGjRbH8d7dWxY0dduHBBq1atsk5TKVSokHV7QkKCRowYoe7du6tEiRKaMGGC+vfvrxo1aqhkyZKaNGmSNmzYoNGjR8vPz081atRI8zyhoaHavn27hg0bps8//1w3btzQ0KFDFRgYqC5dumTp+u9kd/ixYsWKDLcnJycrOjpa+/fv18aNG1WgQAH17NnzXusDAAAAANxn48eP16OPPqr58+fL0dFRklS/fn1J0oYNG3Tw4EHNnj3bOg2sQYMGCg4O1vTp023Cj2vXrmnmzJkqVqyYpNszBObNm6f3339fnTt3liS5u7urdevWCg8PV7Nmzaz7Xr9+XbNnz5abm5uk29Mkunfvrm3btql+/fratGnTXes4efKkYmNj9frrr8vb21vS7REd6SlevLh1GkzVqlVVvHjxdPv+8ccf+umnn/Tuu+9aP5w3aNBAly5d0tSpU23Cj6tXr2rBggWqXLmyJCl//vzq0aOHDhw4oKeeekqSNGLECGv/pKQk1atXT4GBgfrxxx/1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EydOVOPGjeXj46NnnnlG33//fY5cG2Cvffv26eWXX1aNGjXk7++vjh07avv27ZIy9/u/cuVKNW/eXNWqVVPv3r0VHR2tc+fO6ZVXXpG/v79atWqlHTt22OybMhR9zpw5atCggapVq6Y+ffro0qVLNv3sqWPv3r3q0qWLatasKX9/f7Vu3VrLly+3br9z2suyZcs0fPhwSVJgYKC8vb3VpEkTSWlPe7l165bGjBmjBg0ayMfHR61bt0713k05/s6dO9WmTRtVr15dHTp00KFDh2z6zZs3T+3bt1fNmjUVGBio3r176+TJk/a9WBnI6HVMbypP7969FRISIun20PqwsDDFxcXJ29tb3t7eNtv8/f116NAhdezYUX5+fmrTpo0OHTqkW7du6b333lPt2rXVsGFDffHFFzbn+PeQ/Y8++ki1atXShQsXrG379+9XlSpV9NVXX93z84CHT8p7b/PmzQoODpavr6/atWun/fv3p+q7YMECNW7cWDVr1lTfvn0VFRUlSUpISFC9evU0adKkVPu88cYbatu2bbrnT05O1qeffqomTZrIx8dHLVq0SPd9wHsIAPImwg+YXlBQkHx9fRUWFpbm9qSkJPXq1Uvr16/X4MGDNW3aNJUsWVKvvvpqqg9xR44c0bx58xQaGqrRo0fr1KlTGjJkiE2fgQMHatGiRerRo4dmzZqlBg0aaMiQIdq8eXOOXSOQkb179yokJETx8fEaNWqUpk2bpqZNm+r8+fOZ+v3//fff9c0332jYsGH64IMPtHfvXr399tsaMGCAGjVqpGnTpql48eIaMGCArl+/brPvunXrtH79er3//vt6//339dtvv6l///7W7fbUce3aNfXu3VuFChXSxIkTNWPGDL3wwguKiYlJ87obNWqkPn36SJLmzJmjRYsWpft3QJJCQ0P19ddfq0ePHpo5c6Z8fHwUGhqqFStW2PS7fPmyRo0apVdeeUWTJk3SzZs39dprrykhIcHa58KFC+ratatmzJihUaNGKTk5WZ06dVJ0dPRdX6/0ZPQ62qtjx47q0KGDXFxctGjRIi1atEjvvfeedXtCQoJGjBihzp07a9q0aUpKSlL//v01YsQIubi4aNKkSWrWrJlGjx6tX3/9Nd3zhIaGqlSpUho2bJgMw1BcXJyGDh2qwMDANNdhAuxx+fJlffDBB3rllVc0efJkOTs765VXXlFkZKS1z8aNG/Xzzz/r3Xff1VtvvaVdu3Zp5MiRkiQnJye1bdtWy5cvV3JysnWfmJgYrVu3Th06dEj33OPGjdOUKVP03HPP6dNPP1XTpk01evRoTZ8+3aYf7yEAyMMMwKSmTp1qVK9e3TAMw9i4caPh5eVl7Ny5M9W29evXG15eXsamTZus+yYlJRnPPPOM0bVrV2tb165djerVqxuRkZHWtm+//dbw8vIy/vnnH8MwDCM8PNzw8vIytm7dalPLgAEDjPbt2+fMhQJ38eKLLxrPPvuskZiYmGpbZn//o6KirG1jxowxvLy8jK+//tradvToUcPLy8tYt26dta1x48aGv7+/cfXqVWvbL7/8YvNesaeOgwcPGl5eXsYff/yR7rW++eabRqtWrayPly5danh5edm8bw3DMHbs2GF4eXkZBw8eNAzDMI4cOWJ4eXkZCxYssOn38ssvG40bN7Y5vre3t3Hs2DFr2/bt2w0vLy9j9+7dadaUmJho3Lhxw6hevbqxcOFCa/udf4fskdHrmNY1pXj11VdtXsv0zjt16lTDy8vL2Lx5s7Ut5W/noEGDbK4nMDDQ+OijjzI85m+//WZUrVrVmD9/vvHuu+8atWvXNi5cuGD39QJ3evPNNw0vLy/jl19+sbZdvXrVqF69uvHJJ58YhnH7b03Dhg2NW7duWftMnDjRqFq1qpGUlGQYhmGcOnXK8Pb2tvlbs2DBAsPX19eIjo42DMMwzpw5Y3h5eRlr1qwxDMMwIiMjjapVqxpjx461qemdd94xqlevbly7ds0wDN5DAJDXMfIDD4XGjRuratWqaX7ru2fPHhUsWFBBQUHWNgcHBz3zzDPat2+fkpKSrO1PPPGEihcvbn2cslhiyrDU7du3q2jRogoICFBiYqL1JzAwUEeOHLE5FnA/3LhxQwcOHFCbNm3k6OiYantmf/+LFStmfVyhQgVJUt26dVO13TlUW5Lq1KkjNzc36+PAwEAVKlTIOmTdnjo8PT1VqFAhvf/++1q9erV1KHt22Lt3ryTp2WeftWlv1aqVzp07p3/++cfa5u7ursqVK1sfp/wduHjxorVt//796tGjh+rUqaMqVaqoWrVqiouL06lTp7JU391ex+zi4OCggIAA6+O0XmNHR0d5enqmeo3/zcfHR3369NG4ceO0cOFCvffeeypdunSO1I2HQ+HChW3W73Jzc1NAQIDN1JdatWrJ2dnZ+vjxxx9XQkKCdXTIo48+qtq1a2vp0qXWPkuXLlXz5s1VpEiRNM978OBBJSQkpPn3IS4uTkeOHLG28R4CgLyL8AMPjb59+2rnzp3as2ePTXtMTIxKliyZqn/JkiWVkJCguLg4a9udH96k20NopdtrBUjSlStXFB0drapVq9r8vPfee0pMTNTly5ez+7KADMXExCg5OVnu7u7pbr/X3//ChQtb21I+dKS8J1KUKFEi1TlKlChhfU/YU0eRIkX0+eefq2DBgho6dKjq1aunkJAQHT16NM1ry4yrV68qX758NuFOyvlTtqe429+B8+fP6+WXX1ZSUpI++OADffPNN1qyZIlKlCiR6nmx191ex+zi4uJi88Exrdc4pd2ea2nVqpUSExPl7u6u5s2bZ2+xeOjc+eVDijv/jkh3f39K0gsvvKCNGzcqKipKf/zxhw4fPpzhlJeU93+pUqVs2lP+Ptw5nY33EADkXdztBQ+NZs2a6cknn1RYWJhq1qxpbS9SpIgiIiJS9Y+IiJCTk5NcXV3tPkeRIkVUvHhxzZ49O83taf0fNyAnFS5cWA4ODqkWF02Rnb//GblzTv6dbSkfJuytw8/PT3PmzNHNmze1c+dOjR07Vv369dP69evvqb4iRYooMTFR0dHRKlq0qM35U7bba+vWrYqLi1NYWJj1g1hiYqJNgJJZd3sdJSl//vySZLP2iHT7g1vKB7D7KTk5WW+99ZYqVqyo8+fPa8aMGRo4cOB9rwPmkdZorzv/jtirRYsWGjlypL777judPXtWjzzyiM1ojX9L+ZsQERFhM/Ii5e/DnX8zshPvIQDIXoz8wEOlX79+Cg8Ptw5xl6SaNWvq+vXr2rJli7UtOTlZa9eulb+/f6aGmNetW1dRUVFycnKSr69vqp87vw0C7gdXV1dVr15dK1euTHPaVXb+/mdk586dio2NtT4ODw/XtWvXVK1atSzV4eLioqCgIHXu3Flnz55N9xvUlA/98fHxGdaXEoiuWbPGpn316tUqV66cypQpY+eVSjdv3pTFYlG+fP///cKaNWuUmJho9zH+7W6voyTrbTKPHz9ubYuMjEw1MsbJyemuz0d2mDt3rg4cOKDJkyfrjTfe0OzZs3Xw4MEcPy/MKzY2VuHh4TaPd+zYYf07Yi9nZ2c9//zzWrx4sb7//nu1b99eFosl3f6+vr5ycnJK8++Dq6urqlSpkrkLsRPvIQDIXoz8wEOlWbNm8vb2Vnh4uPWb5EaNGsnPz09Dhw7V66+/rtKlS2vhwoU6efKk3n333Uwdv169emrcuLF69uypnj17ytvbWzdu3NBff/2lv//+Wx999FFOXBaQoTfeeEPdu3dX9+7d9dJLL6lIkSI6fPiwihUrprZt22bb739GChYsqF69eqlXr16KjY3VhAkT5OfnpwYNGkiy7324adMmLVmyRM2aNVPZsmUVERGhBQsWqEaNGtZRD/+Wsh7HV199pWbNmsnFxUXe3t6p+j3xxBNq2bKlxowZo5s3b+rxxx/XmjVrtHXrVo0dOzZT15ryDfLw4cPVqVMn/fXXX5o3b16q4fiZldHr2KFDB3l4eKhatWqaPn26ChcuLEdHR82ePVuFChWyOU6lSpWUmJio+fPny9/fX4UKFdJjjz12T7X929GjRzVlyhQNGDBA3t7e8vLy0saNGzVkyBCtXLlSLi4u2Xo+PByKFi2qt956SwMGDFDhwoX12WefSZK6deuW6WO98MILmj9/vhwcHNSuXbsM+xYvXlwhISGaN2+enJ2dVaNGDYWHh2vRokXq379/to2QuxPvIQDIfoQfeKhYLBb169dPAwYMsLY5Ojrqs88+07hx4/TJJ58oLi5O3t7emjVrlurUqZPpc0ydOlWzZ8/WN998o3Pnzqlw4cKqXLnyXf/PFZBTnnrqKf3vf//T5MmTNXz4cDk4OKhy5coaNGhQtv/+p6d58+by8PDQe++9p5iYGNWtW1cffPCBdbs9dXh6esrBwUGTJ09WRESEihUrpvr16+v1119P97xVqlRR//79tXjxYs2ZM0dlypTRxo0b0+w7fvx4TZo0SXPnzlV0dLQqVKig8ePH67nnnsvUtXp7e2v06NEKCwtT79699eSTT2rKlCkaNGhQpo7zbxm9jikmTJigt99+W8OHD1epUqU0aNAgrVy50mbtlsaNG+ull17S7NmzFRkZqVq1aunLL7+8p9ruFB8fryFDhsjHx0c9e/aUdPtv75gxY9S6dWuNHz9e77zzTradDw+PUqVKKTQ0VOPGjdPp06dVuXJlzZ07N831gu7m8ccfV4UKFeTp6WkdNZWRIUOGyM3NTYsXL9bs2bNVpkwZDRs2TN27d8/ClWSM9xAA5AyLYRhGbhcBADCvJk2aqFGjRtk6kgTAw2XYsGE6dOiQVq1alS3HO336tFq0aKEpU6aoZcuW2XJMAEDexsgPAAAAPBSuXLmiU6dOKSwsTGXLllXTpk1zuyQAwH3CgqcAAOSypKQkJSYmpvsDIHv8/PPP1oWSx48fb7MwMQDA3Jj2AgBALgsJCdGuXbvS3b5hwwY98sgj97EiAAAAcyH8AAAgl504cULXr19Pd7u3tze3ygYAALgHhB8AAAAAAMDUWPMDAAAAAACYGuEHAAAAAAAwNcIPAAAAAABgaoQfAADkMG9vb4WEhOR2GQAAAA8tbm4OAA+4oUOHauXKlSpZsqQ2b96sfPn40343O3fu1H/+8x+99tpr6t+//z0fL+VWtUePHs2G6nKOt7d3pvrn9esBAACwF/8PGQAeYNeuXdNPP/0ki8WiiIgIbdq0Sc2aNcvtsvAvq1evVoECBXK7DL322mup2sLCwlS4cGF169YtFyoCAAC4Pwg/AOABtmrVKt24cUMvv/yyPv/8cy1ZsoTwIw+qVKlSbpcgSWmOcgkLC5Obm1u2jIABAADIq1jzAwAeYEuWLJGTk5N69+6tGjVqaMuWLbp06VKqfmfPnpW3t7eGDRuW5nHSW5Pijz/+UK9eveTv76+aNWuqV69eOnbsmIYNGyZvb2+dPXvW2nfZsmXy9vbWsmXLtHHjRnXs2FHVqlVTgwYNNHnyZCUnJ0uSvvvuO7Vp00Z+fn5q1KiR5s6dm2ZNhmFoyZIl6tSpk2rUqKFq1aqpXbt2WrJkSaq+06ZNk7e3t3bu3KnVq1erbdu28vPzU/369TVq1CjdvHnTpu9//vMfSbc/+Ht7e1t/Uq7n5MmTGjdunNq2bas6derI19dXLVu21IQJE3T9+vVUz92uXbus/53yc+dznd7ze+XKFX388cdq0qSJfHx8FBgYqEGDBumvv/5K1ffO5/yrr77SM888I19fXzVu3FhhYWHW5/de7dixQ97e3vrggw/S3P7XX3/J29tbffr0sbaFhITI29tbt27d0rhx4xQUFCRfX1+1bt06zdcrxfr169WtWzfVqlVLvr6+Cg4O1ty5c5WUlJQt1wIAAJCCkR8A8IA6evSofvvtNzVv3lxFixZVmzZttHfvXq1YsUKvvvrqPR//jz/+0EsvvaSbN2+qefPmevTRR3X48GG99NJLeuKJJ9Ldb926ddq+fbuaNWumGjVqaNOmTZo5c6YMw1CRIkU0ffp0NW3aVE899ZR++uknjRs3TqVKldJzzz1nPYZhGAoNDdWqVatUoUIFBQcHy9nZWdu3b9dbb72l48eP680330x17q+++kpbt25VkyZNVLt2bW3dulVffvmlrly5ok8++USSVLt2bbVt21bLly9X7dq1Vbt2bev+bm5u1mtYunSp6tSpo9q1ays5OVkHDhzQZ599pt27d2vBggVycnKSdHsqyfLly3Xu3DmbaSVPPvlkhs/vlStX9OKLL+rvv/9W7dq11apVK507d04//vijNm/erHnz5snf3z/VfuPGjdOuXbvUuHFj1atXTxs2bNC0adOUkJCgwYMHZ3hOewQEBKhChQr6/vvv9eabb8rFxcVm++LFiyVJL7zwQqp9Bw4cqKNHj+rpp59WYmKi1qxZo7feekuRkZHq3bu3Td+JEydq1qxZ8vDwUIsWLVSoUCHt3r1b48aN04EDBzR16tR7vhYAAAArAwDwQBo1apTh5eVl/PTTT4ZhGEZMTIzh6+trtGjRIlXfM2fOGF5eXsabb76Z5rG8vLyMrl272rR17tzZ8PLyMtasWWPTPnXqVMPLy8vw8vIyzpw5Y21funSp4eXlZVStWtU4cOCAtT02NtYIDAw0qlWrZtSrV884ffq0ddv58+eNqlWrGq1bt7Y5x6JFiwwvLy9jxIgRRkJCgrX91q1bRu/evQ0vLy/jt99+S1VTzZo1jePHj1vbb9y4YbRo0cLw9vY2Lly4YG3fsWOH4eXlZUydOjXN5+PChQvGrVu3UrVPmzbN8PLyMlauXGnT3rVrV8PLyyvNYxlG2s/v8OHDDS8vL+OTTz6xad+yZYvh5eVltGjRwkhKSrK2v/nmm4aXl5fRpEkT4+LFi9b2yMhI46mnnjL8/f3TrPluvLy8jMaNG9u0zZkzx/Dy8jKWL19u037r1i2jTp06RoMGDYzExERre8r1P/vss0ZsbKy1/dKlS0a9evWMKlWq2Lzu27ZtM7y8vIyePXsacXFx1vbk5GTj3XffNby8vIy1a9dm+loAAADSw7QXAHgAxcfH67vvvlORIkUUFBQkSSpcuLCaNm2qU6dOaffu3fd0/HPnzmnv3r2qUqWKnn76aZttPXv2VNGiRdPdt3Xr1vLz87M+LlSokBo1aqQbN26oU6dOKl++vHVbmTJlVLNmTf31119KTEy0ti9YsECurq569913be5e4+zsbB3d8MMPP6Q693/+8x899thj1scuLi4KDg6WYRg6fPiw3ddfunRpOTs7p2rv2rWrJCk8PNzuY6UlPj5eP/zwg4oWLWozfUSSGjRooPr16+vUqVP69ddfU+3bt29fubu7Wx8XL15cTZs21fXr13Xy5Ml7qitF27Zt5ezsbB3lkWLDhg26cuWK2rVrJ0dHx1T7/fe//1WhQoWsj0uVKqUePXooMTFR33//vbV9wYIFkqQPP/zQZiFYi8Wi0NBQWSyWNF9fAACArGLaCwA8gNavX6/o6Gh16tTJ5kN6mzZttHr1ai1dulS1atXK8vH/+OMPSUpz2kWBAgWs62ukJa3pHqVKlcpwW1JSkiIjI1W6dGnduHFDx44dk7u7u2bPnp2qf0pIcuLEiVTbqlSpkqrNw8NDkhQTE5NmvWkxDENLly7V8uXL9eeffyo2NtZmTY201lXJjBMnTujmzZuqXbt2mneBqVOnjrZt26Y//vhDTz31lM22qlWrpupfunRpSVJsbOw91ZWiePHiatGihVatWqWTJ0+qYsWKkm6vMWOxWNShQ4c09/t3rXe2pfxOSdKBAwfk6uqa7nogLi4uab6+AAAAWUX4AQAPoKVLl0qSnn/+eZv2+vXrq1SpUlq7dq3efvttm2/hM+PatWuSbn8ITkvJkiXT3Tetc6aM3shoW0JCgqTbIYVhGLp48aLCwsLSPU9cXFyqtsKFC6dqSxmhkJkFQUeNGqUFCxaoTJkyatKkiUqVKmUNmcLCwhQfH2/3sdKS8vym9zymtKcVZmT0HGbnQqEvvPCCVq1apcWLF2vo0KE6f/68fvnlF9WtW1ePPPJImvuUKFEi3bY7r+Xq1atKTEzM9OsLAACQVYQfAPCA+eeff/TLL79Ikjp37pxuvx9++EEvvviiJMnB4fYsxzunlqTI6AN2VFRUmseOiIjIXNGZULBgQUm3RzgsW7Ysx86TnsjISH311Vfy9vbWokWLbEZmXL58OcMP7PZKeX7Tex5T2rMaXmWHOnXqqGLFilq5cqUGDx6spUuXKjk5WR07dkx3n8jISJUpUyZVm2QbTKVcV3qjhwAAALIb4QcAPGBSPoTWrFnTOh3hTgkJCVq5cqWWLFliDT9S7mJy8eLFVP1///33VG0pd3PZt29fqm03btzQ0aNH7+kaMlKoUCFVqlRJJ06cUExMjLX27JQyGiStkRJnzpyRYRiqW7duqikpe/bsSfN4KeFSUlJSmmth/Ntjjz2m/Pnz67ffftONGzdSnSdlzZa73TEmp73wwgsaO3asNmzYoGXLlqlYsWJq2rRpuv337Nmj1q1bp2qTZHOHID8/P23ZskWnTp1ShQoVcqR2AACAO7HgKQA8QAzD0LJly2SxWDR27Fh99NFHqX7GjRunKlWq6ODBgzp27Jik24FChQoV9Ouvv+rvv/+2Hu/atWuaOHFiqvOUK1dONWrU0O+//661a9fabJs7d66io6Nz9DpDQkJ048YNvf3222lOfzhz5ozOnj2b5eMXKVJEUtphUNmyZSXdDn7unCpz4cIF6+1y0zvehQsX7Dq/s7OzWrVqpStXrmjWrFk223755Rdt2bJFjz76qGrUqGHX8XJKysKnH330kc6fP299nJ5PP/3UOqVHuj2C5fPPP1e+fPlsQpGQkBBJ0ogRI3TlypVUx7l8+bKOHz+ejVcCAAAedoz8AIAHSHh4uM6dO6c6derY3DXl39q1a6fff/9dS5Ys0YgRIyRJPXr00HvvvacXX3xRTz/9tJKTk7V161b5+PikeYx33nlHXbp00euvv661a9fK09NThw8f1oEDB1SrVi3t3r3bOuIhu3Xq1EkHDhzQ8uXL9euvv6pu3bpyd3dXZGSkTpw4oQMHDuiTTz5Jd+2Ju3nsscfk7u6uH374QS4uLvLw8JDFYlHnzp3l7u6uli1b6scff1T79u0VEBCgyMhIbdq0SQEBATpz5kyq4wUEBOjHH3/UwIEDFRQUpPz588vLy0uNGjVKt4YhQ4Zo9+7dmjlzpvbt26dq1arp3Llz+vHHH1WgQAF9/PHHOfb82qtYsWLWhU8lpbvQaYry5curdevWatGihRITE7VmzRpFRkZq8ODBNr+vDRs2VN++fTVjxgy1aNFCDRo0UNmyZRUdHa2///5be/fu1aBBg1SpUqUcvT4AAPDwIPwAgAdIyt0x2rdvn2G/4OBgjR07Vt99951CQ0Pl7OysTp06KTExUf/73/+0ZMkSlSpVSm3btlWfPn3SDECqVKmir7/+WhMmTNDmzZtlsVhUs2ZNff3119bRIjm1JoXFYtGYMWPU8P/au2OW1MIAjOPPpcWhQAUbNMjJLyAOEjiEQTgpSE2CCE4eEHHoI0TgkCAhtoU41CSk4CIOgqE2RJ/BxhZRUk54t7sk94Jd7+Ee/r/58PKc9YH3eSMRPTw8qNfraT6fy+126/DwUBcXFwqHwxufv7Ozo0qlolKppGazqdlsJkmKxWLa29vT5eWlfD6fOp2O6vW6vF6v0um0stmsOp3Ol/POzs40mUzUbrdVrVZlmqYSicRvyw+32637+3vd3Nyo2+3q+flZu7u7Oj4+lmEYCgQCG//f35RIJPT4+KhgMPjHMuL6+lrlclmtVkvv7+/y+/0qFAprd0Ly+bxCoZDu7u40GAw0nU7ldDp1cHAgwzC+XJ8BAAD4jh+r1WpldQgAwP/j8/NTJycn+vj4+DW8Cvu6vb1VqVTS1dWV4vH42m9SqZSGw+FWt2AAAAC+g80PAMBapmmufe2lVqtpMpkoGo1akAr/0mKxUKPRkNPp1OnpqdVxAAAANsa1FwDAWvP5XJFIREdHR/L7/TJNUy8vL3p9fZXH45FhGFZHxJaMx2ONRiP1+329vb2pWCzK4XBYHQsAAGBjlB8AgLUcDoeSyaSenp40Go20XC7l8Xh0fn6uXC6n/f19qyNiSwaDgSqVilwul9LptDKZjNWRAAAAvoXNDwAAAAAAYGtsfgAAAAAAAFuj/AAAAAAAALZG+QEAAAAAAGyN8gMAAAAAANga5QcAAAAAALA1yg8AAAAAAGBrlB8AAAAAAMDWKD8AAAAAAICtUX4AAAAAAABb+wlJ+Yh64BUXlQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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7ty5unTpkjw9PW0WVU1O/GyUf//9N8k+9+7ds67r8OBdPuLHJnepj6REZ31Ij/a6PIq+fftab6P7358iRYqkeD9bt261zl5JiX379iW4E9GDsyaSep7i3bt3z3pJ14Ovw+PQsmVLVa1aVXfv3tXnn39us6169erWYC/+vQIAAMyH8AMAsrj4tTYuX76sffv2pWrstWvXrH+RT+pOFiEhISn6q31G8fHxkaenp3XNkpQsdBrP29tbkrRr164k++zevdt6KdGDoUr82CNHjujWrVuJjj1z5kyS4Uj863Lo0CHrLVifJPGLmDZq1Ej79+9P9qds2bKSEt72tkyZMtaZM/FroCTlwIED1pkp8ft7nPr27Svp/sKzO3futLbny5dPjRs3liStWrVKp0+fTvE+WS8EAIAnB+EHAGRx9evXt87W+Pzzz5Ndl0OyvXuFi4uL9cvpH3/8kaBvTEyMJk6cmH7FplFgYKDefPNNvfnmm3r55ZdTPO6ll16SdP+LdWJ3U4mJibHeytfT01Oenp7WbU2aNFG2bNl09+7dBLcHjjd16tQkj/3KK6/IyclJsbGx+uSTT5K95CQuLk4REREpOqfHITQ0VJs3b5Z0/znMmTNnsj8vvviiJGnZsmU255krVy7rYq+LFi1KsFhvPMMwrJds5c6dWzVq1MjAs0tc9erVVbFiRUnS5MmTbbYNGDBAzs7Ounv3rvr27fvQWSw3btxQ3759k7wNMgAAyHoIPwAgGdeuXUv253F8oc2ePbs+/vhjWSwWHT16VO3bt9e2bdts7tbyzz//aOHChWrTpo0WLFhgbc+ZM6d1hsKYMWO0c+dO61oVf/75p95++20dOXJEzs7OGX4eyfH399d7772n9957L1WXRDRp0sR6B50BAwZo5cqV1hkk//zzj/r27asDBw5Iuh+wPCh//vxq3769JGnatGmaPn26dQbItWvX9Mknn+inn36Sq6trosd2d3fXoEGDJEmbN29W165dFRISYg0HDMPQyZMn9c033yggIEC//vpris8roy1fvtx6m9+6des+tH/Tpk0lSVevXtXWrVtttg0cOFAODg66evWqOnbsaPO7aRiGjh8/rt69e2vbtm2SpH79+mXa79s777wj6X5Y9uB5FC9eXOPGjZODg4P++usvvfLKK5oxY4bOnj1r7RMbG6tjx45p8uTJatiwoX75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Fi1apK5du2r69OmqXbu2Bg8erC1btmTYOQLJCQkJUadOnRQVFaVRo0YpKChIDRo00MWLF1P1+3/s2DH98MMPGjp0qEaOHKmQkBB98MEH6tevn+rWraugoCDlyZNH/fr10+3bt23Grl+/Xhs2bNDHH3+sjz/+WL///rv69u1r3Z6SOm7duqUePXrIxcVFX375paZNm6ZXX31VERERiZ533bp11bNnT0nSrFmztGjRoiQ/ByQpMDBQCxYsUNeuXfXVV1/J29tbgYGBWr58uU2/q1evatSoUXrrrbc0ceJE3b17V3369FF0dLS1z6VLl9SxY0dNmzZNo0aNUlxcnNq1a6fw8PCHvl5JSe51TKm2bduqTZs2cnJy0qJFi7Ro0SJ99NFH1u3R0dEaPny42rdvr6CgIMXGxqpv374aPny4nJycNHHiRDVs2FCjR4/W/v37kzxOYGCg3N3dNXToUBmGocjISA0ZMkR+fn6JrsMEpMTVq1c1cuRIvfXWW5o0aZIcHR311ltvKSwszNpn06ZN+vXXXzVixAi9//772rNnjz799FNJkoODg1q2bKlly5YpLi7OOiYiIkLr169XmzZtkjz22LFjNXnyZL388sv6+uuv1aBBA40ePVpTp0616cd7CACyMAMwqSlTphgVKlQwDMMwNm3aZHh6ehq7d+9OsG3Dhg2Gp6ensXnzZuvY2NhYo2nTpkbHjh2tbR07djQqVKhghIWFWdv+97//GZ6ensa///5rGIZh7Ny50/D09DS2bdtmU0u/fv2M1q1bZ8yJAg/x2muvGS+99JIRExOTYFtqf/+vXbtmbRszZozh6elpLFiwwNp24sQJw9PT01i/fr21rV69ekbFihWNGzduWNt+++03m/dKSuo4fPiw4enpafzxxx9Jnut7771nNGvWzPp4yZIlhqenp8371jAMY9euXYanp6dx+PBhwzAM4/jx44anp6cxf/58m35vvvmmUa9ePZv9e3l5GX/++ae1bceOHYanp6exd+/eRGuKiYkx7ty5Y1SoUMFYuHChtf3Bz6GUSO51TOyc4r399ts2r2VSx50yZYrh6elpbNmyxdoW/9k5YMAAm/Px8/MzPvvss2T3+fvvvxtly5Y15s6da4wYMcKoVq2acenSpRSfL/Cg9957z/D09DR+++03a9uNGzeMChUqGBMmTDAM4/5nTZ06dYx79+5Z+3z55ZdG2bJljdjYWMMwDOPMmTOGl5eXzWfN/PnzDR8fHyM8PNwwDMP4559/DE9PT2PNmjWGYRhGWFiYUbZsWeOLL76wqenDDz80KlSoYNy6dcswDN5DAJDVMfMDT4V69eqpbNmyif7Vd9++fcqZM6f8/f2tbXZ2dmratKkOHDig2NhYa/vzzz+vPHnyWB/HL5YYPy11x44dyp07t3x9fRUTE2P98fPz0/Hjx232BTwOd+7c0aFDh9SiRQvZ29sn2J7a3/9nnnnG+rhYsWKSpBo1aiRoe3CqtiRVr15dbm5u1sd+fn5ycXGxTllPSR1FixaVi4uLPv74Y61evdo6lT09hISESJJeeuklm/ZmzZrpwoUL+vfff61tHh4eKl26tPVx/OfA5cuXrW0HDx5U165dVb16dZUpU0bly5dXZGSkzpw5k6b6HvY6phc7Ozv5+vpaHyf2Gtvb26to0aIJXuP/8vb2Vs+ePTV27FgtXLhQH330kfLnz58hdePp4OrqarN+l5ubm3x9fW0ufalataocHR2tj0uVKqXo6Gjr7JDnnntO1apV05IlS6x9lixZokaNGilXrlyJHvfw4cOKjo5O9PMhMjJSx48ft7bxHgKArIvwA0+NXr16affu3dq3b59Ne0REhPLly5egf758+RQdHa3IyEhr24Nf3qT7U2il+2sFSNL169cVHh6usmXL2vx89NFHiomJ0dWrV9P7tIBkRUREKC4uTh4eHkluf9Tff1dXV2tb/JeO+PdEvLx58yY4Rt68ea3viZTUkStXLn3zzTfKmTOnhgwZopo1a6pTp046ceJEoueWGjdu3FC2bNlswp3448dvj/ewz4GLFy/qzTffVGxsrEaOHKkffvhBixcvVt68eRM8Lyn1sNcxvTg5Odl8cUzsNY5vT8m5NGvWTDExMfLw8FCjRo3St1g8dR7840O8Bz9HpIe/PyXp1Vdf1aZNm3Tt2jX98ccfOnr0aLKXvMS//93d3W3a4z8fHrycjfcQAGRd3O0FT42GDRvqhRdeUHBwsCpXrmxtz5Url0JDQxP0Dw0NlYODg5ydnVN8jFy5cilPnjyaMWNGotsT+x83ICO5urrKzs4uweKi8dLz9z85D16T/2Bb/JeJlNZRrlw5zZo1S3fv3tXu3bv1xRdfqHfv3tqwYcMj1ZcrVy7FxMQoPDxcuXPntjl+/PaU2rZtmyIjIxUcHGz9IhYTE2MToKTWw15HScqePbsk2aw9It3/4hb/BexxiouL0/vvv6/ixYvr4sWLmjZtmvr37//Y64B5JDbb68HPkZRq3LixPv30U/300086f/68ihQpYjNb47/iPxNCQ0NtZl7Efz48+JmRnngPAUD6YuYHniq9e/fWzp07rVPcJaly5cq6ffu2tm7dam2Li4vT2rVrVbFixVRNMa9Ro4auXbsmBwcH+fj4JPh58K9BwOPg7OysChUqaMWKFYledpWev//J2b17t27evGl9vHPnTt26dUvly5dPUx1OTk7y9/dX+/btdf78+ST/ghr/pT8qKirZ+uID0TVr1ti0r169WoULF1bBggVTeKbS3bt3ZbFYlC3b//99Yc2aNYqJiUnxPv7rYa+jJOttMk+ePGltCwsLSzAzxsHB4aHPR3qYPXu2Dh06pEmTJmnQoEGaMWOGDh8+nOHHhXndvHlTO3futHm8a9cu6+dISjk6OuqVV17Rjz/+qJUrV6p169ayWCxJ9vfx8ZGDg0Oinw/Ozs4qU6ZM6k4khXgPAUD6YuYHnioNGzaUl5eXdu7caf1Lct26dVWuXDkNGTJE7777rvLnz6+FCxfq9OnTGjFiRKr2X7NmTdWrV0/dunVTt27d5OXlpTt37ujvv//W2bNn9dlnn2XEaQHJGjRokLp06aIuXbro9ddfV65cuXT06FE988wzatmyZbr9/icnZ86c6t69u7p3766bN29q/PjxKleunGrXri0pZe/DzZs3a/HixWrYsKEKFSqk0NBQzZ8/X5UqVbLOeviv+PU4vv/+ezVs2FBOTk7y8vJK0O/5559XkyZNNGbMGN29e1elSpXSmjVrtG3bNn3xxRepOtf4vyAPGzZM7dq1099//605c+YkmI6fWsm9jm3atFGBAgVUvnx5TZ06Va6urrK3t9eMGTPk4uJis5+SJUsqJiZGc+fOVcWKFeXi4qISJUo8Um3/deLECU2ePFn9+vWTl5eXPD09tWnTJg0ePFgrVqyQk5NTuh4PT4fcuXPr/fffV79+/eTq6qqZM2dKkjp37pzqfb366quaO3eu7Ozs1KpVq2T75smTR506ddKcOXPk6OioSpUqaefOnVq0aJH69u2bbjPkHsR7CADSH+EHnioWi0W9e/dWv379rG329vaaOXOmxo4dqwkTJigy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",
      "text/plain": [
       "<Figure size 1000x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from statannotations.Annotator import Annotator\n",
    "from statannotations.stats.StatTest import StatTest\n",
    "import scipy.stats as stats\n",
    "\n",
    "# Set the theme for the plot\n",
    "sns.set_theme(style=\"white\")\n",
    "\n",
    "# Specify the metrics and model types\n",
    "metrics = ['test AUROC', 'test AUPRC']\n",
    "extra_type = ['None', 'compositional_cutmix', 'phylomix']\n",
    "\n",
    "# Plotting each metric\n",
    "for metric in metrics:\n",
    "    plt.figure(figsize=(10, 7))\n",
    "    ax = sns.barplot(\n",
    "        data=df,\n",
    "        x='Augmentation Type',\n",
    "        order=extra_type,\n",
    "        y=metric,\n",
    "        hue='Augmentation Type',\n",
    "        palette='viridis',  # You can use any palette or your custom palette here\n",
    "        dodge=False,\n",
    "        errwidth=2\n",
    "    )\n",
    "\n",
    "    plt.title(f'Linear Model - {metric.replace(\"test \", \"\")}', fontsize=18)\n",
    "    plt.xlabel('Augmentation Type', fontsize=14)\n",
    "    plt.ylabel(metric, fontsize=14)\n",
    "    plt.ylim(0.5, 1.05)\n",
    "\n",
    "    plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))\n",
    "    plt.show()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "mic_aug",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
